<?php
/**
 * 一些控制器都要使用到的方法
 */
 class CommonController extends Controller{
 	
	private $category;
	
	public function __init(){
		
		$this->category = K('Category');
		$this->topCate();
		$this->getCategory(); 
	}
	
	/**
	 * ajax获得当前城市的 二级联动
	 */
	public function ajaxCity() {
		if (IS_AJAX) {
			//获得传入过来的城市pid
			$provid = Q('post.provid');
			$city = K('City');
			$this -> ajax($city -> getProvCity($provid));
		}
	}

	/**
	 * ajax获得当前城市的三级联动地区级城市
	 */
	public function ajaxDist() {
		if (IS_AJAX) {
			//获得传入过来的城市pid
			$cityid = Q('post.cityid');
			$city = K('City');
			$this -> ajax($city -> getDist($cityid));
		}
	}
	
	
	
	/**
	 * 遍历分类  包含所有的子分类
	 */
	 public function getCategory(){
	 	//先得到所有的顶级分类	
		$this->assign('rightCateTree',$this->category->getMoreCateArr()); 	
	 }
	 
	 /**
	  * 获得所有的顶级分类
	  * 限制为8个菜单 is_show_nav表示让他在导航上显示
	  * 分别再查询这几个分类下面的条商品
	  */
	  public function topCate(){
	  	$topCate = $this->category->field('cid,cname')->where('is_show_nav=1')->limit(8)->all();
		//查询相应的两条商品  按发布时间倒序
		foreach($topCate as $key=>$val){
			$topCate[$key]['son'][] = K('Goods')->where("goods_cateid={$val['cid']}")->order('goods_uptime DESC')->limit(2)->all();
		}
//		p($topCate);
		//$this->category->where('is_show_nav=1')->limit(8)->all()
		$this->assign('topCate',$topCate);
		
	  }
		
	  /**
	   * 三级联动地区
	   */
	   public function threeArea($area){
	   	//再获得他的address字段用来处理联动地区 转为一个数组
	   	if(!$area){
	   		$area = '0,0,0';
			$addarea = explode(',',rtrim($area,','));
	   	}else{
	   		$addarea = explode(',',rtrim($area,','));	
	   	}
		
		$city = K('city');
		//分类省份ID
		$this->assign('addressIds',$addarea);		
		//省份
		$this->assign('prov',$city->getAllProvince());
		//城市
		$this->assign('citys',$city->getProvCity($addarea[0]));
		//县
		$this->assign('dists',$city->getDist($addarea[1]));
	   }
 }
